#include <iostream>
#include <string>

#include "zip_file.hpp"
using namespace std;

int main() {
    cout << "Enrter a zip file name\n";
    string zipFileName;
    getline(cin, zipFileName);
    string content{ R"(
        1.视频的顺序是按照我个人学习顺序整理的。个人感觉按照这个顺序学习起来更加连贯，所以会和原书顺序不太一致，但是建议按照视频顺序学习。
        2.全部视频免费，但是创作不易，所以笔记代码需要付费购买，40块钱~可以加我微信进行购买~
        【个人微信：hkl793831293】
        【第三章内容】：
        条款8：优先考虑nullptr而非0和NULL
        基础10：构造函数语义学
        条款17：理解特殊成员函数的生成
        条款15：尽可能的使用constexpr
        补档：条款17的错误改造
        基础11.1：c++中的异常处理以及swap & copy
        基础11.2：c++中的异常处理以及swap & copy
        条款14：如果函数不抛出异常请使用noexcept
        条款10：优先考虑限域enum而非未限域enum
        基础12：友元相关
        条款11：优先考虑使用deleted函数而非使用未定义的私有声明
        条款12：使用override声明重写函数
        条款13：优先考虑const_iterator而非iterator
        )" };

    cout << "\ncontent length: " << content.length() << "\n";


    miniz_cpp::zip_file output;
    output.writestr("intro.txt", content);
    output.save(zipFileName);


    return 0;
}
